The present invention relates to the creation of images by means of an interactive computer device.
The creation of graphical images using a computer as a tool is well known. Adobe""s Photoshop (Trade Mark) is an example of image creation software for the creation of complex images on a computer.
A typical computer system 1 for the creation of images is shown in FIG. 1. The system 1 includes a keyboard 2 and a mouse input device 3, in addition to a display device 4 and main computer unit 5. Also present but not shown are a CPU together with memory components including fast (eg. semiconductor) memory and slow (eg. disk) memory. An image creation program 6 runs on the computer 5 and resultant images are displayed on the display device 4.
The image creation program includes a large number of image manipulation functions 7 for applying to an image 8. The computer unit 1 is connected to a printer device 9 for printing the images. The image 8 is created by a user of the system 1 by means of a series of iterative interactions with the computer system 1.
An image can comprise a large number of independent images or objects which are xe2x80x9ccompositedxe2x80x9d together. For example, in FIGS. 2 and 3 there are shown example processes utilised in the creation of images. Turning initially to FIG. 2, there is shown a first example process 10 in the creation of a final image 11 to be displayed or printed. The process 10 involves taking a raw initial image 12 and applying a first sharpening filter 13 so as to sharpen the appearance of the picture. The image is then cropped 14 to a particular area of interest, and a sepia process 15 is applied to distort the colour appearance of the image. Next, a contrast enhancement process 16 is applied to produce the final image 11. Each of the processes 13-16 has a number of variables which can independently be set and adjusted by a user of the system of FIG. 1 so as to produce an output image which is subsequently printed.
Turning now to FIG. 3, it is also known to utilise more complex processes in the creation of images, particularly when creating relatively complex images based on multiple independent objects. For example, in FIG. 3, there is shown an image creation process tree 20 for the creation of a final image 21 which involves the combining of various image components A-K. The various image components A-K are combined using operators (Op1-Op8) (eg, operation 22 for image components A and B) which combine the images in a user determined manner to form intermediate images. The intermediate images are then combined with other images higher in the tree to produce a final image 21. Other operators 23 can be provided for non-compositive manipulation or filtering of a lower image. Such a process 20 for the creation of an image is known and effectively represents a more complex implementation of the process of FIG. 2.
Unfortunately, as the potential resolution of output devices has improved, corresponding computation requirements have increased greatly. Further, it is often the case that a user having utilised the system of FIG. 1 to create a complex image wishes to perform a number of minor adjustments to the operations which generated the image. This often requires the frequent recalculation of the final image from its initial raw image, which can result in excessive computational requirements and generally slow iterative updates.
Further, if an operation is inserted between other operations, the entire set of previous operations in the processes must be recalculated and re-rendered. This also occurs when an operation is removed or if the parameters of an operation are modified.
It is an object of the present invention to provide an method of using resources within a computer system so as to enhance the image creation process.
In accordance with the present invention, there is provided a method of increasing the speed of image creation on a computer system for the interactive creation of images via a series of creation steps, the method including the steps of:
copying a resultant image of each of said creation steps to a corresponding separate storage buffer; and
when making an amendment to the series of creation steps, automatically utilising one or more of said resultant images so as to reduce the rendering time of producing a final output image.